home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Interfaces&Libraries / Universal / Interfaces / CIncludes / ZoomedVideo.h < prev   
Encoding:
C/C++ Source or Header  |  1998-08-17  |  4.1 KB  |  160 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        ZoomedVideo.h
  3.  
  4.      Contains:    PC Card Family Zoomed Video Driver Interface
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1996-1998 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __ZOOMEDVIDEO__
  18. #define __ZOOMEDVIDEO__
  19.  
  20. #ifndef __MACTYPES__
  21. #include <MacTypes.h>
  22. #endif
  23. #ifndef __DEVICES__
  24. #include <Devices.h>
  25. #endif
  26.  
  27.  
  28.  
  29. #if PRAGMA_ONCE
  30. #pragma once
  31. #endif
  32.  
  33. #ifdef __cplusplus
  34. extern "C" {
  35. #endif
  36.  
  37. #if PRAGMA_IMPORT
  38. #pragma import on
  39. #endif
  40.  
  41. #if PRAGMA_STRUCT_ALIGN
  42.     #pragma options align=mac68k
  43. #elif PRAGMA_STRUCT_PACKPUSH
  44.     #pragma pack(push, 2)
  45. #elif PRAGMA_STRUCT_PACK
  46.     #pragma pack(2)
  47. #endif
  48.  
  49. #define kZVDriverName "\p.ZVPort"
  50.  
  51. /* Control codes */
  52.  
  53.  
  54. enum {
  55.     cscZVVideoEnable            = 2,                            /* Used to enable or disable ZV Video*/
  56.     cscZVSetCurrentAnalogValue    = 3,                            /* Used to set brightness, contrast, etc.*/
  57.     cscZVSetInput                = 9,                            /* Set video source to selected input*/
  58.     cscZVSetInputStandard        = 11,                            /* Set the input to NTSC, PAL, or SECAM*/
  59.     cscZVGetMaxSourceRect        = 12                            /* Get Maximum Source Rect*/
  60. };
  61.  
  62. /* Status codes*/
  63.  
  64. enum {
  65.     cscZVGetVideoEnable            = 2,                            /* Indicates whether ZV Video is enabled*/
  66.     cscZVGetCurrentAnalogValue    = 3,                            /* Used to get brightness, contrast, etc.*/
  67.     cscZVGetDefaultAnalogValue    = 4,
  68.     cscZVGetVSyncState            = 5,                            /* Used to look for a Vertical Sync on ZV Video*/
  69.     cscZVGetInfo                = 6,                            /* Returns the ZV Information*/
  70.     cscZVGetInputFlags            = 7,                            /* Returns the input flags.*/
  71.     cscZVGetNumberOfInputs        = 8,                            /* Returns the number of video inputs*/
  72.     cscZVGetInput                = 9,                            /* Zero-based input number*/
  73.     cscZVGetInputFormat            = 10                            /* Returns whether input is compsite/s-video*/
  74. };
  75.  
  76.  
  77. /*
  78.   -----------------------------------------------------------------
  79.    Additional parameters for csInfoZV control call
  80.       A pointer to ZVInfo is passed in csParam[0] (and csParam[1])
  81.       which must be filled by the driver in response to this call.
  82. */
  83.  
  84. typedef UInt32                             ZVFeatures;
  85.  
  86. enum {
  87.     kZVHasAudio                    = (1 << 0),
  88.     kZVHasTVTuner                = (1 << 1),
  89.     kZVHasContrast                = (1 << 16),
  90.     kZVHasBrightness            = (1 << 17),
  91.     kZVHasSharpness                = (1 << 18),
  92.     kZVHasSaturation            = (1 << 19),
  93.     kZVHasHue                    = (1 << 20)
  94. };
  95.  
  96.  
  97.  
  98. struct ZVInfo {
  99.     ZVFeatures                         features;
  100.     UInt32                             currentFlags;
  101.     Rect                             activeRect;
  102.     Boolean                         isInterlaced;
  103.     SInt8                             filler;
  104.     UInt32                             reserved1;
  105.     UInt32                             reserved2;
  106. };
  107. typedef struct ZVInfo                    ZVInfo;
  108.  
  109. struct ZVFlagRecord {
  110.     Boolean                         csFlag;
  111.     SInt8                             filler;
  112. };
  113. typedef struct ZVFlagRecord                ZVFlagRecord;
  114. /*
  115.   -----------------------------------------------------------------
  116.    Additional definitions for "AnalogCtlZV" control calls
  117.       A pointer to a ZVSetAnalogControlParam is passed to the driver
  118.       whenever the system needs to adjust one of the analog settings.
  119. */
  120.  
  121. typedef UInt16                             ZVAnalogControlSelector;
  122.  
  123. enum {
  124.     kZVContrast                    = 1,                            /* Range:  0x0 <= no change to image, larger values increase the contrast*/
  125.     kZVBrightness                = 2,                            /* Range:  0x0 <= darkest setting, 0xffff = lightest setting*/
  126.     kZVSharpness                = 3,                            /* Range:  0x0 <= no sharpness filtering, 0xffff <= full sharpness filtering*/
  127.     kZVSaturation                = 4,                            /* Range:  0x0 <= min saturation, 0xffff <= max saturation        */
  128.     kZVHue                        = 5,                            /* Range:  0x0 <= -180º shift in hue, 0xffff <= 179º shift, 0x8000 <=0º shift*/
  129.     kZVBlackLevel                = 6,                            /* Range:  0x0 <= max black, 0xffff <= min black level*/
  130.     kZVWhiteLevel                = 7                                /* Range:  0x0 <= min white, 0xffff <= max white level*/
  131. };
  132.  
  133.  
  134. struct ZVAnalogControlRecord {
  135.     ZVAnalogControlSelector         whichControl;
  136.     UInt16                             value;
  137. };
  138. typedef struct ZVAnalogControlRecord    ZVAnalogControlRecord;
  139.  
  140. #if PRAGMA_STRUCT_ALIGN
  141.     #pragma options align=reset
  142. #elif PRAGMA_STRUCT_PACKPUSH
  143.     #pragma pack(pop)
  144. #elif PRAGMA_STRUCT_PACK
  145.     #pragma pack()
  146. #endif
  147.  
  148. #ifdef PRAGMA_IMPORT_OFF
  149. #pragma import off
  150. #elif PRAGMA_IMPORT
  151. #pragma import reset
  152. #endif
  153.  
  154. #ifdef __cplusplus
  155. }
  156. #endif
  157.  
  158. #endif /* __ZOOMEDVIDEO__ */
  159.  
  160.